﻿namespace TPOJ.Core
{
    /// <summary>
    /// Possible result types of a judge.
    /// </summary>
    public enum ResultType : byte
    {
        Pending,
        Compiling,
        Running,
        Judging,
        TimeLimitExceeded,
        MemoryLimitExceeded,
        OutputLimitExceeded,
        RepresentationError,
        RestrictedUsage,
        WrongAnswer,
        CompileError,
        RuntimeError,
        SystemError,
        Accepted
    }

    /// <summary>
    /// Judge result.
    /// </summary>
    public class Result
    {
        public string ErrorMessage { get; set; }
        public int ExitCode { get; set; }
        public ResultType ResultType { get; set; }
        public double Time { get; set; }
        public double Memory { get; set; }

    }
}
